Short:        Gadtools listview for AREXX. V1.0
Author:       dickow@uidaho.edu (Robert Dickow)
Uploader:     dickow@uidaho.edu (Robert Dickow)
Version:      1.0
Type:         util/rexx
Distribution: World
Basename:     rxlistreq

The rxlistreq executable in this archive was coded
in pure Amiga JForth 3.1 over a couple of hot summer
evenings.

This archive has an AREXX host and sample arexx script
for an example of how to use AREXX and the supplied host
program to allow your AREXX scripts to open a listview with
a list of items of any size that you define. The user may
click on an item to indicate a choice, or click on a CANCEL
button or the window's close button, or hit HELP or the ESC
key. All user input is returned to the calling program when
the window is closed.

This program uses native GadTools gadgets, and at the moment
there is no support for multiple selection or editing of
items in the listview gadget. The program provides a simple
but attractive window that is resizable as well as customizable
from the rexx script for size, position, and label names. It
uses the screen font by default. You can open it on your own
public screens too.

Complete documentation is provided by the included rxlistreq.readme
and is also included in the lvtest.rexx program.

Run the lvtest.rexx script by typing 'rx lvtest'. rxlistreq needs to
be in the same directory as the arexx script lvtest.rexx unless you
edit the script to define the full path to the host executable rxlistreq.

Enjoy!

Bob Dickow (dickow@uidaho.edu)

/* *********************************************** */
/* lvtest.rexx                                     */
/* Author: Bob Dickow (dickow@uidaho.edu)          */
/* $VER: lvtest.rexx V1.0 (09.04.98)               */
/* *********************************************** */

/* ************************************************************ */
/*   Simple arexx script to test and demo rxlistreq host.       */
/*   The host will display a gadtools listview in a window      */
/*   and displays a list specified by the calling arexx script. */
/*                                                              */
/*   After the user clicks on an item or cancels the requester, */
/*   the host will return control to the calling arexx program. */
/* ************************************************************ */

/* *********************************************************************** */
/* USAGE: Start up the rxlistreq host through a shell command, then        */
/* address the host as ADDRESS "RXLISTREQ" (or if you want to specify      */
/* a host name, add it after the shell callup of rxlistreq as a cli        */
/* parameter: run rxlistreq LISTVIEW)                                      */
/* Then 'send' the command, after using ADDRESS "<PORTNAME>" as:           */
/*  rxlistreq <NUMBER_IN_LIST> <LIST_STEM_NAME> [WINDOW_PARMS_STEMNAME]    */
/*                                                                         */
/*  The last parameter is optional, and will default to "RXLV"             */
/* Parameters:                                                             */
/*  <NUMBER_IN_LIST>: This number tells the host to show a list with the   */
/*      specified number of elements. The AREXX calling script or program  */
/*      must declare a list as a stem variable indexed from 0, as in:      */
/*      STEM.0 = "Hello" ; STEM.1 = "GOODBYE" ; STEM.2 = "342" ....        */
/*      The host will use the stem name in the parameter, with no default  */
/*      to fall back to.                                                   */
/*  <LIST_STEM_NAME>: The AREXX stem variable name for the list of items.  */
/*      This list should be indexed from 0, and may continue to any ex-    */
/*      tent. The indexes should be successive integer numbers (1, 2 etc)  */
/*  <WINDOW_PARMS_STEMNAME>: This is an optional stem variable name that   */
/*      the script can use to pass various parameters for the listview     */
/*      window display. The default stem is "RXLV". The choices are:       */
/*                                                                         */
/*  RXLV.LVLABEL       -- A String to place above the listview             */
/*  RXLV.BUTTONLABEL   -- A String to place inside the CANCEL button       */
/*  RXLV.XPOS          -- The screen X position to open the window         */
/*  RXLV.YPOS          -- The screen Y position to open the window         */
/*                        (if not specified, opens near the mouse pointer) */
/*  RXLV.WIDTH         -- The desired width of the window                  */
/*  RXLV.HEIGHT        -- The desired height of the window                 */
/*                        (Will not be smaller than 150 x 200 pixels)      */
/*  RXLV.SCREEN        -- Name of the public screen on which to display    */
/*                        the window. Default is the Workbench.            */
/* *********************************************************************** */

/* ***************************************************************************** */
/* The rxlistreq host program returns the following variables, which will        */
/* be created in the symbol table if not already declared:                       */
/* [RXLV].CLICKED = number of the item chosen, unset if user cancels or quits.   */
/* [RXLV].EXIT    = key (or the close gadget) that the user used to exit, if     */
/*    the user decides to abort the window and not make a choice from the        */
/*    list. Currently the user may abort by clicking the close gadget or         */
/*    the CANCEL button gadget, or by typing the ESC key or the HELP key.        */
/*    EXITCHOICE will be set to strings "CANCEL, CLOSE, ESC, or HELP"            */
/*    respectively, or to LIST if the listview is clicked.                       */
/* ***************************************************************************** */


============================= Archive contents =============================

Original  Packed Ratio    Date     Time    Name
-------- ------- ----- --------- --------  -------------
    2657     629 76.3% 04-Sep-98 02:06:42  RXListReq.info
    5579    1934 65.3% 04-Sep-98 02:05:44 +lvtest.rexx
   22088    8434 61.8% 04-Sep-98 02:05:44 +rxlistreq
    5895    2106 64.2% 04-Sep-98 02:05:44 +rxlistreq.readme
-------- ------- ----- --------- --------
   36219   13103 63.8% 08-Sep-98 14:00:34   4 files
